    <?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of NodeDao
 *
 * @author rodrigo
 */
class EspecieDao {
    



    static $especie;
    static $Arr;

    static function init(){
        if(Config::$admRequest){
             require_once '../dinamic/especie.php';
        }else{
             require_once 'dinamic/especie.php';
        }

        EspecieDao::$especie = new especie(0,'','','','', '', 0);
        EspecieDao::$Arr = new ArrayObject();
        

    }

    public static function db_especie_by_id($dbc, $id)
  {
    $query = 'SELECT * FROM especie WHERE id= '.$id;
    return EspecieDao::db_select_unique($dbc, $query);
  }

  public static function insert($dbc)
  {
    $query = 'INSERT INTO especie VALUES (NULL,\''.EspecieDao::$especie->nome.'\',\''.EspecieDao::$especie->porte.'\',\''.EspecieDao::$especie->localidade.'\',\''.EspecieDao::$especie->descricao.'\',\''.EspecieDao::$especie->img.'\','.EspecieDao::$especie->idtaxo.')';
    $result = mysqli_query($dbc, $query);
  }

  public static function update($dbc)
  {
    if(EspecieDao::$especie->img!='')
        $query = 'UPDATE especie SET nome=\''.EspecieDao::$especie->nome.'\', porte=\''.EspecieDao::$especie->porte.'\', localidade=\''.EspecieDao::$especie->localidade.'\', descricao=\''.EspecieDao::$especie->descricao.'\', img=\''.EspecieDao::$especie->img.'\' WHERE id='.EspecieDao::$especie->id;
    else
        $query = 'UPDATE especie SET nome=\''.EspecieDao::$especie->nome.'\', porte=\''.EspecieDao::$especie->porte.'\', localidade=\''.EspecieDao::$especie->localidade.'\', descricao=\''.EspecieDao::$especie->descricao.'\' WHERE id='.EspecieDao::$especie->id;
    //echo $query;
    $result = mysqli_query($dbc, $query);
  }

  public static function delete($dbc,$id){
      $temp = EspecieDao::db_especie_by_id($dbc, $id);
      @unlink($temp->img);
      $query = 'DELETE FROM especie WHERE id = '.$id;
      $result = mysqli_query($dbc, $query);
  }

    protected static function db_select_unique($dbc, $query)
    {
        $especie;
        if ($result = mysqli_query($dbc, $query)) {
            if (mysqli_num_rows($result) > 0) {
                    $row = mysqli_fetch_array($result, MYSQLI_NUM);               
                    $id= $row[0];
                    $nome = $row[1];
                    $porte = $row[2];
                    $localidade = $row[3];
                    $descricao = $row[4];
                    $img = $row[5];
                    $id_taxo = $row[6];

                    $especie = new especie($id, $nome,$porte,$localidade, $descricao, $img, $id_taxo);

              }
          }
          return $especie;
       }

       public static function getAll($dbc){
           $Arr = new ArrayObject();
           if ($result = mysqli_query($dbc, 'SELECT * FROM especie')) {
                 if (mysqli_num_rows($result) > 0) {
                      while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
                             $id= $row[0];
                             $nome = $row[1];
                             $porte = $row[2];
                             $localidade = $row[3];
                             $descricao = $row[4];
                             $img = $row[5];
                             $id_taxo = $row[6];

                            $Arr->append(new especie($id, $nome,$porte,$localidade, $descricao, $img, $id_taxo));
                      }
                 }
           }
           return $Arr;
       }


      public static function buscarEspecies($dbc,$texto){
           $Arr = new ArrayObject();
           $qry = 'SELECT * FROM especie where nome like "%'.$texto.'%" or descricao like "%'.$texto.'%"';
           
                     
           if ($result = mysqli_query($dbc, $qry)) {
                 if (mysqli_num_rows($result) > 0) {
                      while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
                             $id= $row[0];
                             $nome = $row[1];
                             $porte = $row[2];
                             $localidade = $row[3];
                             $descricao = $row[4];
                             $img = $row[5];
                             $id_taxo = $row[6];

                            $Arr->append(new especie($id, $nome,$porte,$localidade, $descricao, $img, $id_taxo));
                      }
                 }
           }
           return $Arr->getIterator();
       }

      public static function getSonEspecies($dbc,$id){
      $current = NodeDao::db_node_by_id($dbc, $id);

      $query = 'SELECT * FROM especie WHERE idtaxo = '.$id;
        if ($result = mysqli_query($dbc,$query)) {
                 if (mysqli_num_rows($result) > 0) {
                      while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
                             $id= $row[0];
                             $nome = $row[1];
                             $porte = $row[2];
                             $localidade = $row[3];
                             $descricao = $row[4];
                             $img = $row[5];
                             $id_taxo = $row[6];


                            EspecieDao::$Arr->append(new especie($id, $nome,$porte,$localidade, $descricao, $img, $id_taxo));
                      }
                 }
           }
      
      $iterator = $current->getIterator();

      while($iterator->valid()){
          EspecieDao::getSonEspecies($dbc, $iterator->current()->id);
          $iterator->next();
      }

  }

  public static function getEspecies($dbc,$id){
      $current = new ArrayObject();

      $query = 'SELECT * FROM especie WHERE idtaxo = '.$id;
      
        if ($result = mysqli_query($dbc,$query)) {
                 if (mysqli_num_rows($result) > 0) {
                      while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
                             $id= $row[0];
                             $nome = $row[1];
                             $porte = $row[2];
                             $localidade = $row[3];
                             $descricao = $row[4];
                             $img = $row[5];
                             $id_taxo = $row[6];

                            $current->append(new especie($id, $nome,$porte,$localidade, $descricao, $img, $id_taxo));
                      }
                 }
           }

      return $current->getIterator();
  }

  public static function setTaxo($dbc,$id,$idtaxo){
        $query = 'UPDATE especie SET idtaxo = '.$idtaxo.' WHERE id = '.$id;
        echo $query;
        $result = mysqli_query($dbc,$query);
  }
      
}
?>
